# 1. return有两个功能, 第一个是返回指定的数据, 第二个是结束当前的函数, 当执行到return之后,在return之后的所有代码将无法执行
def func1():
    print('hello world')
    return 3
    return 4
    print('hello python')


# 当前return 3 之后的所有内容都没有被执行.此时在return之后的代码中会提示警告信息This code is unreachable
print(func1())  # 3

print('--------------------------------')
# 我们在函数内部,有时会使用return在特定情况下退出函数, 作用类似于 break

# 2. return 后如果什么也不写,则默认返回None
def func2():
    print('hello AI')
    return


print(func2())  # None

print('--------------------------------')
# 3. 在函数中如果没有书写return 则默认返回一个None
def func3():
    print('hello chuanzhi')


print(func3())  # None

print('--------------------------------')
# 4. 在函数体中返回的数据,有且只能由一个值,如果是多个值,可以使用容器类型返回,如果没有值默认返回None
def func4():
    return 1, 2, 3, 4


result = func4()
print(result)   # (1, 2, 3, 4)
print(type(result))

# 5. 如果需要手动返回数据必须书写return 目前Python没有提供除了return之外的返回方式

